package net.freestu.sola.web.parser.Parse;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
//--------------------
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

/**
 * 该类先设计这些功能，如果有需要以后再扩展。
 * @author 秋刀鱼的滋味
 *
 */
public class DataReader extends DataExchange{
	
	
	private File xmlfile;//需要读取的XML文件。
	
	public DataReader(File xmlfile){
		this.xmlfile=xmlfile;
		
	}
	
	/**
	 * 获取Page对象流，用List容器来装。
	 * @return
	 */
	public List getPageList(){
		
		List pagelist=new ArrayList();
		if(!(xmlfile.exists())){//如果不存在，则null
			return pagelist;//为空
		}
		SAXBuilder builder = new SAXBuilder();
        Document read_doc=null;
		try {
			read_doc = builder.build(xmlfile);
		} catch (JDOMException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
        Element stu = read_doc.getRootElement();
        List list = stu.getChildren("page");//得到student的子元素
        
        for(int i = 0;i < list.size();i++) {
            
        	Element page = (Element)list.get(i);
        
            String id=page.getChildText("id");
   		    String school=page.getChildText("school");
   		    String site=page.getChildText("site");
   		    String urlhash=page.getChildText("urlhash");
   		    String pagehash=page.getChildText("pagehash");
   		    String url=page.getChildText("url");
   		    String redirect=page.getChildText("redirect");
   		    String title=page.getChildText("title");
   		    String update=page.getChildText("update");
   		    String links=(page.getChildText("links"));
   		    String content=(page.getChildText("content"));
   		    String score=page.getChildText("score");
            
   		    Page p=new Page(id, school,site,urlhash,pagehash,url, redirect, title,update, links, content, score);
   		    pagelist.add(p);
	    }
        return pagelist;
   }
	
	
	public static void main(String[] args){
		
		File f=new File("C:\\Documents and Settings\\秋刀鱼的滋味\\桌面\\实验\\pages.xml");
		DataReader de=new DataReader(f);
		ArrayList al=(ArrayList)de.getPageList();
		Iterator it=al.iterator();
		
		while(it.hasNext()){
			
			Page p=(Page)it.next();
			p.printPage();
		}
	}
}
